package top.codedance.iotp.serialPortSDK;

import top.codedance.iotp.serialPortSDK.entity.wdlt.CommonResult;

import java.util.List;
import java.util.Map;

public interface Opw extends SerialPortDevice {

    /**
     * 生成油高命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:02
     */
    String genCmdForHeightOfOil();

    /**
     * 获取油高
     * @Description
     * @return int
     * @date 2023/4/7 10:03
     */
    Map<String, Float> getHeightOfOil(List<String> tankNo);

    /**
     * 生成油水总高命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:03
     */
    String genCmdForHeight();
    /**
     * 获取油水总高
     * @Description
     * @return int
     * @date 2023/4/7 10:03
     */
    Map<String, Float> getHeight(List<String> tankNo);

    /**
     * 生成水高命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:04
     */
    String genCmdForWater();

    /**
     * 获取水高
     * @Description
     * @return int
     * @date 2023/4/7 10:04
     */
    Map<String, Float> getWater(List<String> tankNo);

    /**
     * 生成油温命令
     * @Description
     * @return java.lang.String
     * @author ChenPeng
     * @date 2023/4/7 10:04
     */
    String genCmdForTemperature();

    /**
     * 获取油温
     * @Description
     * @return int
     * @date 2023/4/7 10:04
     */
    Map<String, Float> getTemperature(List<String> tankNo);

    /**
     * 生成视油温度命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:05
     */
    String genCmdForTemperatureOfVisualOil();

    /**
     * 获取视油温度
     * @Description
     * @return int
     * @author ChenPeng
     * @date 2023/4/7 10:05
     */
    int getTemperatureOfVisualOil(List<String> tankNo);

    /**
     * 生成视油密度命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:05
     */
    String genCmdForDensityOfVisualOil();

    /**
     * 获取视油密度
     * @Description
     * @return int
     * @date 2023/4/7 10:05
     */
    int getDensityOfVisualOil(List<String> tankNo);

    /**
     * 生成标准密度命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:06
     */
    String genCmdForDensityOfStandard();

    /**
     * 获取标准密度
     * @Description
     * @return int
     * @date 2023/4/7 10:06
     */
    int getDensityOfStandard(List<String> tankNo);

    /**
     * 生成水容积命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:06
     */
    String genCmdForWaterVolume();

    /**
     * 获取水容积
     * @Description
     * @return int
     * @date 2023/4/7 10:06
     */
    Map<String, Float> getWaterVolume(List<String> tankNo);

    /**
     * 生成净油容积命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:06
     */
    String genCmdForVolume();

    /**
     * 获取净油容积
     * @Description
     * @return int
     * @date 2023/4/7 10:07
     */
    Map<String, Float> getVolume(List<String> tankNo);

    /**
     * 生成VCF命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:07
     */
    String genCmdForVCF();

    /**
     * 获取VCF
     * @Description
     * @return int
     * @date 2023/4/7 10:07
     */
    int getVCF(List<String> tankNo);

    /**
     * 生成重量命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:07
     */
    String genCmdForWeight();

    /**
     * 获取重量
     * @Description
     * @return int
     * @date 2023/4/7 10:07
     */
    int getWeight(List<String> tankNo);

    /**
     * 生成报警信号命令
     * @Description
     * @return java.lang.String
     * @date 2023/4/7 10:08
     */
    String genCmdForAlarm();

    /**
     * 获取报警信号
     * @Description
     * @return int
     * @date 2023/4/7 10:08
     */
    Map<String, String> getAlarm(List<String> tankNo);

    /**
     * 生成卸油命令
     * @Description
     * @return java.lang.String
     * @author ChenPeng
     * @date 2023/4/20 13:10
     */
    String genCmdForOilUnloading();

    /**
     * 获取卸油信息
     * @Description
     * @return top.codedance.iotp.serialPortSDK.entity.wdlt.CommonResult
     * @author ChenPeng
     * @date 2023/4/20 13:41
     */
    CommonResult getOilUnloadingInfos();
}